package cn.tedu._04mybatis.mapper;

import cn.tedu._04mybatis.pojo.entity.Weibo;
import cn.tedu._04mybatis.pojo.vo.ResultMapVO1;
import cn.tedu._04mybatis.pojo.vo.WeiboVo1;
import cn.tedu._04mybatis.pojo.vo.WeiboVo2;
import org.apache.ibatis.annotations.*;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface WeiboMapper {
//    @Insert("INSERT INTO weibo(content,created,user_id) VALUES (#{content},#{created},#{userId})")
    int insertWeibo(Weibo weibo);
 //   @Delete("DELETE FROM weibo WHERE id=#{weiboId}")
    int deleteWeiboId(Long weiboId);
//    @Update("UPDATE weibo SET content=#{content},created=#{created},user_id=#{userId} WHERE id=#{id}")
    int updateWeibo(Weibo wb);
//    @Select("SELECT * FROM weibo WHERE id=#{id}")
    Weibo selectWeibo(Integer id);
//    @Select("SELECT *FROM weibo")
    ArrayList<Weibo> selectWb();
//    @Select("SELECT content,created,user_id userId FROM weibo WHERE id=#{wid}")
    Weibo selectWeiboById(Long wid);
//    @Select("SELECT content,created FROM weibo WHERE id=#{wbId}")
    WeiboVo1 selectWeiboByID(Long wbId);
//    @Select("SELECT  id,content FROM weibo WHERE user_id=#{userId}")
    List<WeiboVo2> selectWeiboVo2(Long userId);

    /**
     * 7.动态删除1：数组方式
     * 根据微博ID，删除指定的微博数据；
     * DELETE FROM weibo WHERE id IN(1,3,5)
     * 操作步骤：
     *  1.定义接口方法
     *  2.XML文件配置SQL
     *  3.测试方法
     */
    int deleteWeiboByIds1(Integer[] ids);
    /**
     * 8.动态删除：集合方式
     */
    int deleteWeiboById2(List<Integer> ids);
    /**
     * 动态修改：
     *  根据weibo的id动态修改相关信息
     */
    int dynamicUpdateWeiboById(Weibo weibo);
    int selectCount();
}
